home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / complib / zgeqrf.z / zgeqrf
Text File  |  1998-10-30  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. ZZZZGGGGEEEEQQQQRRRRFFFF((((3333FFFF))))                                                          ZZZZGGGGEEEEQQQQRRRRFFFF((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ZGEQRF - compute a QR factorization of a complex M-by-N matrix A
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      SUBROUTINE ZGEQRF( M, N, A, LDA, TAU, WORK, LWORK, INFO )
  13.  
  14.          INTEGER        INFO, LDA, LWORK, M, N
  15.  
  16.          COMPLEX*16     A( LDA, * ), TAU( * ), WORK( LWORK )
  17.  
  18. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  19.      ZGEQRF computes a QR factorization of a complex M-by-N matrix A:  A = Q *
  20.      R.
  21.  
  22.  
  23. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  24.      M       (input) INTEGER
  25.              The number of rows of the matrix A.  M >= 0.
  26.  
  27.      N       (input) INTEGER
  28.              The number of columns of the matrix A.  N >= 0.
  29.  
  30.      A       (input/output) COMPLEX*16 array, dimension (LDA,N)
  31.              On entry, the M-by-N matrix A.  On exit, the elements on and
  32.              above the diagonal of the array contain the min(M,N)-by-N upper
  33.              trapezoidal matrix R (R is upper triangular if m >= n); the
  34.              elements below the diagonal, with the array TAU, represent the
  35.              unitary matrix Q as a product of min(m,n) elementary reflectors
  36.              (see Further Details).
  37.  
  38.      LDA     (input) INTEGER
  39.              The leading dimension of the array A.  LDA >= max(1,M).
  40.  
  41.      TAU     (output) COMPLEX*16 array, dimension (min(M,N))
  42.              The scalar factors of the elementary reflectors (see Further
  43.              Details).
  44.  
  45.      WORK    (workspace/output) COMPLEX*16 array, dimension (LWORK)
  46.              On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
  47.  
  48.      LWORK   (input) INTEGER
  49.              The dimension of the array WORK.  LWORK >= max(1,N).  For optimum
  50.              performance LWORK >= N*NB, where NB is the optimal blocksize.
  51.  
  52.      INFO    (output) INTEGER
  53.              = 0:  successful exit
  54.              < 0:  if INFO = -i, the i-th argument had an illegal value
  55.  
  56. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  57.      The matrix Q is represented as a product of elementary reflectors
  58.  
  59.         Q = H(1) H(2) . . . H(k), where k = min(m,n).
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ZZZZGGGGEEEEQQQQRRRRFFFF((((3333FFFF))))                                                          ZZZZGGGGEEEEQQQQRRRRFFFF((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      Each H(i) has the form
  75.  
  76.         H(i) = I - tau * v * v'
  77.  
  78.      where tau is a complex scalar, and v is a complex vector with v(1:i-1) =
  79.      0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), and tau in
  80.      TAU(i).
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.